package com.yami.shop.bean.app.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * 快递查询结果DTO
 * @author AI Assistant
 */
@Data
@Schema(description = "快递查询结果")
public class ExpressQueryDto {

    @Schema(description = "订单编号")
    private String orderNumber;

    @Schema(description = "快递公司编码")
    private String expressCompanyCode;

    @Schema(description = "快递公司名称")
    private String expressCompanyName;

    @Schema(description = "快递单号")
    private String expressNumber;

    @Schema(description = "快递状态")
    private String expressStatus;

    @Schema(description = "快递状态描述")
    private String expressStatusDesc;

    @Schema(description = "是否签收")
    private Boolean isSigned;

    @Schema(description = "快递轨迹列表")
    private List<ExpressTrackDto> tracks;

    @Schema(description = "查询时间")
    private String queryTime;

    @Schema(description = "快递公司官网")
    private String expressCompanyUrl;

    @Schema(description = "快递公司电话")
    private String expressCompanyPhone;

    /**
     * 快递轨迹DTO
     */
    @Data
    @Schema(description = "快递轨迹")
    public static class ExpressTrackDto {

        @Schema(description = "轨迹描述")
        private String description;

        @Schema(description = "轨迹时间")
        private String time;

        @Schema(description = "轨迹地点")
        private String location;

        @Schema(description = "轨迹状态")
        private String status;

        @Schema(description = "轨迹状态码")
        private String statusCode;
    }
}